1541B - Pleasant Pairs - CodeForces Solution


brute force implementation math number theory *1200

Please click on ads to support us..

Python Code:

for _ in range(int(input())):
    n = int(input())
    a = list(map(int, input().split()))
    s = 3
    count = 0
    for i in range(n):
        for j in range(a[i] - i - 2, n, a[i]):
            if i >= j:continue
            if a[i] * a[j] == i + j + 2:
                count += 1

    print(count)

C++ Code:

#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(), (x).end()
#define print(a) for(auto it:a) std::cout<<it<<" ";
#define nl "\n" 

typedef long long ll;
typedef long double ld;

void solve() {
	int n;cin >> n;
	vector<pair<ll,ll>> a(n);
	for(int i=0;i<n;i++) {
		int x;cin >> x;
		a[i] = {x,i+1};
	}
	sort(all(a));
	
	ll count = 0;
	for(int i=0;i<n-1;i++) {
		for(int j=i+1;j<n;j++) {
			if(a[i].first*a[j].first == a[i].second + a[j].second) count ++;
			else if(a[i].first*a[j].first >= 2*n) break;
			else continue;
		}
	}
	cout << count << nl;
	
	 
}


int main() {
	ios::sync_with_stdio(false);
  	cin.tie(0);
	ll t;cin >> t;
	
	while(t--) {
		solve();
	}
	return 0;
}


Comments

Submit
0 Comments
More Questions

1632C - Strange Test
673A - Bear and Game
276A - Lunch Rush
1205A - Almost Equal
1020B - Badge
1353A - Most Unstable Array
770A - New Password
1646B - Quality vs Quantity
80A - Panoramix's Prediction
1354B - Ternary String
122B - Lucky Substring
266B - Queue at the School
1490A - Dense Array
1650B - DIV + MOD
1549B - Gregor and the Pawn Game
553A - Kyoya and Colored Balls
1364A - XXXXX
1499B - Binary Removals
1569C - Jury Meeting
108A - Palindromic Times
46A - Ball Game
114A - Cifera
776A - A Serial Killer
25B - Phone numbers
1633C - Kill the Monster
1611A - Make Even
1030B - Vasya and Cornfield
1631A - Min Max Swap
1296B - Food Buying
133A - HQ9+